xen.git
20 years agoFix HVM MSR save/restore.
kaf24@firebug.cl.cam.ac.uk [Fri, 17 Feb 2006 15:29:24 +0000 (16:29 +0100)]
Fix HVM MSR save/restore.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
20 years agoFix Read/Write CR3 emulation.
cl349@firebug.cl.cam.ac.uk [Fri, 17 Feb 2006 11:49:11 +0000 (11:49 +0000)]
Fix Read/Write CR3 emulation.
- on write, new_guest_cr3() takes an mfn not an ma
- for shadow_translate guests, apply mfn_to_gmfn/gmfn_to_mfn

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix a VMX FPU bug introduced in changeset 8834.
kaf24@firebug.cl.cam.ac.uk [Fri, 17 Feb 2006 11:28:35 +0000 (12:28 +0100)]
Fix a VMX FPU bug introduced in changeset 8834.

From: Edwin Zhai

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpdate the ia64 linux-2.6-xen-sparse tree to 2.6.16-rc3.
cl349@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 23:24:47 +0000 (23:24 +0000)]
Update the ia64 linux-2.6-xen-sparse tree to 2.6.16-rc3.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoUpdate defconfigs for PCI front/back driver config options.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 23:07:11 +0000 (00:07 +0100)]
Update defconfigs for PCI front/back driver config options.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpdate documentation to describe new PCI front/back drivers.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 22:47:58 +0000 (23:47 +0100)]
Update documentation to describe new PCI front/back drivers.

Update the documentation to include the syntax of "hiding" a PCI
device from domain 0 and for specifying the assignment of a PCI device
to a driver domain. It also includes a brief section exploring some of
the security concerns that driver domains address and mentioning some
of those that remain.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
20 years agoTools changes for PCI front/back drivers.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 22:46:51 +0000 (23:46 +0100)]
Tools changes for PCI front/back drivers.

Replace the old pciif DevController class with a new one that
configures the PCI backend. A util class detects the resource usage of
the specified PCI devices and pciif interacts with Xen to permit a
driver domain to directly access those physical I/O resources.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
20 years agoPCI backend and frontend drivers for i386 and x86_64.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 22:44:41 +0000 (23:44 +0100)]
PCI backend and frontend drivers for i386 and x86_64.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
20 years agoProvide a simpler, higher-level interface for mapping in pages from another domain.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 22:37:40 +0000 (23:37 +0100)]
Provide a simpler, higher-level interface for mapping in pages from another domain.

I also added a one-liner that causes xenbus_dev_(error|fatal) to output
to the kernel log buffer (and thus syslog) which was invaluable to me
while debugging (by default, error messages only appear in xenstore).

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
20 years agoFix bugs related to the virtual TPM. Also make the vTPM
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 22:00:00 +0000 (23:00 +0100)]
Fix bugs related to the virtual TPM. Also make the vTPM
manager listen on /dev/vtpm.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years agoFix a dead download url for ccache when building the xm-test ramdisk.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 21:57:29 +0000 (22:57 +0100)]
Fix a dead download url for ccache when building the xm-test ramdisk.

From: Adam Wendt <adam@ipcoast.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoVTPM Tools: Fix threading bug in vtpm_manager while using NPTL. Now
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 21:39:55 +0000 (22:39 +0100)]
VTPM Tools: Fix threading bug in vtpm_manager while using NPTL. Now
supports Linux Threads and NPTL threads. Also clean up vtpm Makefile.

Signed-off-by: Vinnie Scarlata <vincent.r.scarlata@intel.com>
20 years agoFix Xen builds with perfc=y and perfc_arrays=y.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 21:33:46 +0000 (22:33 +0100)]
Fix Xen builds with perfc=y and perfc_arrays=y.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ben Thomas <ben@virtualiron.com>
20 years agoSync Xen's mpspec.h with Linux 2.6.16-rc2 codebase.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 21:25:54 +0000 (22:25 +0100)]
Sync Xen's mpspec.h with Linux 2.6.16-rc2 codebase.
Fixes building with gcc 4.1-pre, pointed out by Chris Wright.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRe-enable VGA acceleration under the new phys_to_machine_mapping.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 18:04:33 +0000 (19:04 +0100)]
Re-enable VGA acceleration under the new phys_to_machine_mapping.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoNew memory_op subcall XENMEM_translate_gpfn_list.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 17:52:06 +0000 (18:52 +0100)]
New memory_op subcall XENMEM_translate_gpfn_list.

Allows translation from GPFNs to MFNs for an auto-translated
guest.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpgrade mpparse.c to linux-2.6.16-rc2 codebase.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 16:37:21 +0000 (17:37 +0100)]
Upgrade mpparse.c to linux-2.6.16-rc2 codebase.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoWhen xc_linux_build fails without a meaninful errno, force errno to EINVAL
vhanquez@kneesa.uk.xensource.com [Thu, 16 Feb 2006 16:19:38 +0000 (16:19 +0000)]
When xc_linux_build fails without a meaninful errno, force errno to EINVAL
avoid message "Error creating domain: (0, 'Error')" in the case
domU version is too old or too new.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoFix problems with direct-mapping handling especially when
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 15:46:21 +0000 (16:46 +0100)]
Fix problems with direct-mapping handling especially when
VMX assist is used for real mode and protected mode.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
20 years agoAdd back code to zero the 'saved eflags' value on vmx vmexit.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 15:35:09 +0000 (16:35 +0100)]
Add back code to zero the 'saved eflags' value on vmx vmexit.
vmx mode is unstable without this -- the root cause needs to
be investigated.

From: Jun Nakajima

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up swiotlb_init() decls.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 15:31:52 +0000 (16:31 +0100)]
Clean up swiotlb_init() decls.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpgrade smpboot.c to linux-2.6.16-rc2 codebase.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 15:31:22 +0000 (16:31 +0100)]
Upgrade smpboot.c to linux-2.6.16-rc2 codebase.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix Makefile problem when "gcc -v" includes a '/'
vhanquez@kneesa.uk.xensource.com [Thu, 16 Feb 2006 14:26:02 +0000 (14:26 +0000)]
Fix Makefile problem when "gcc -v" includes a '/'
and convert | to / to avoid the same problem with '|'.

Original patch from Jos Vos, modified to prevent a '|' problem.

From: Jos Vos <jos@xos.nl>
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoFix upgrade omissions.
cl349@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 14:10:01 +0000 (14:10 +0000)]
Fix upgrade omissions.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoCheck for the entire kernel range for temporarily cleared PMD entries.
cl349@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 11:30:44 +0000 (11:30 +0000)]
Check for the entire kernel range for temporarily cleared PMD entries.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix prototype mismatch.
cl349@firebug.cl.cam.ac.uk [Thu, 16 Feb 2006 11:25:36 +0000 (11:25 +0000)]
Fix prototype mismatch.
Should fix e1000/tg3 hang and cciss problems.

From: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoUpdate to Linux 2.6.16-rc3.
cl349@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 22:06:12 +0000 (22:06 +0000)]
Update to Linux 2.6.16-rc3.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
--HG--
rename : patches/linux-2.6.16-rc2/i386-mach-io-check-nmi.patch => patches/linux-2.6.16-rc3/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.16-rc2/net-csum.patch => patches/linux-2.6.16-rc3/net-csum.patch
rename : patches/linux-2.6.16-rc2/pmd-shared.patch => patches/linux-2.6.16-rc3/pmd-shared.patch
rename : patches/linux-2.6.16-rc2/smp-alts.patch => patches/linux-2.6.16-rc3/smp-alts.patch

20 years agoClean up grant-table code and replace uses of get_user
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 14:20:32 +0000 (15:20 +0100)]
Clean up grant-table code and replace uses of get_user
and put_user in common code. This is an attempt to narrow
the uaccess API before it gets replaced.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoCleanup x86/x86_64 apic.c files.
cl349@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 14:13:10 +0000 (14:13 +0000)]
Cleanup x86/x86_64 apic.c files.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix x86/64 build for gcc-4.1-pre.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 11:21:12 +0000 (12:21 +0100)]
Fix x86/64 build for gcc-4.1-pre.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix non-x86 build.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 11:20:42 +0000 (12:20 +0100)]
Fix non-x86 build.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoSet feature flags for shadow translate mode guests.
cl349@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 09:44:11 +0000 (09:44 +0000)]
Set feature flags for shadow translate mode guests.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix building the p2m table for shadow translate mode guests.
cl349@firebug.cl.cam.ac.uk [Wed, 15 Feb 2006 09:43:14 +0000 (09:43 +0000)]
Fix building the p2m table for shadow translate mode guests.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix to previous changeset: CLTS must be unconditional in
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 23:37:15 +0000 (00:37 +0100)]
Fix to previous changeset: CLTS must be unconditional in
setup_fpu(), as the flag can be set in CR0 even if the VCPU
has already dirtied the FPU (this happens if a paravirtualised
guest has set CR0.TS).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMore fixes to HVM FPU management. Mostly for SVM, but also
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 23:15:11 +0000 (00:15 +0100)]
More fixes to HVM FPU management. Mostly for SVM, but also
fix VMX mov_to_cr0: must setup_fpu() if the new cr0 value
has TS clear, regardless of previous cr0.TS value.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up save_init_fpu().
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 22:30:59 +0000 (23:30 +0100)]
Clean up save_init_fpu().

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix gcc4 build.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 21:36:22 +0000 (22:36 +0100)]
Fix gcc4 build.

Signed-off-by: Steve Dobbelstein <steved@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClarify lazy FPU management in VMX domains.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 19:17:26 +0000 (20:17 +0100)]
Clarify lazy FPU management in VMX domains.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix segment-register dumping in show_registers().
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 18:43:45 +0000 (19:43 +0100)]
Fix segment-register dumping in show_registers().

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMore upgrades of Xen code to linux-2.6.16-rc2.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 17:25:10 +0000 (18:25 +0100)]
More upgrades of Xen code to linux-2.6.16-rc2.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpgrade arch/x86/cpu/* files to their equivalents in
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Feb 2006 15:23:43 +0000 (16:23 +0100)]
Upgrade arch/x86/cpu/* files to their equivalents in
linux-2.6.16-rc2/arch/i386/kernel/cpu/*.

Also include kernel taint tracking and include that
information, and Xen release info, in our crash dumps.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoReturn real error code from Xen /dev/mem, not EAGAIN.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 16:41:23 +0000 (17:41 +0100)]
Return real error code from Xen /dev/mem, not EAGAIN.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpdate defconfigs.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 15:47:04 +0000 (16:47 +0100)]
Update defconfigs.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix HVM event handling some more.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 14:58:50 +0000 (15:58 +0100)]
Fix HVM event handling some more.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpdate x86_32 defconfigs for ISA_DMA_API config change.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 13:54:27 +0000 (14:54 +0100)]
Update x86_32 defconfigs for ISA_DMA_API config change.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoConfigure ISA_DMA drivers on xen/i386. Otherwise drivers
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 11:45:40 +0000 (12:45 +0100)]
Configure ISA_DMA drivers on xen/i386. Otherwise drivers
that also work with PCI devices won't get compiled.
(For example, BusLogic SCSI).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAbsolutely must not return to HVM guest context until
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 11:16:16 +0000 (12:16 +0100)]
Absolutely must not return to HVM guest context until
synchronous I/O emulation is completed.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix error exit path in __gnttab_map_grant_ref() to
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 09:23:26 +0000 (10:23 +0100)]
Fix error exit path in __gnttab_map_grant_ref() to
put_domain() and hence avoid zombie domains.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
20 years agoClean up vmxassist/setup.c. It is no longer necessary to
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Feb 2006 09:19:14 +0000 (10:19 +0100)]
Clean up vmxassist/setup.c. It is no longer necessary to
switch to an alternate page table before entering the
real-mode emulator.

Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com>
20 years agoRework hvm_wait_io() -- now tries to be a polite user of
kaf24@firebug.cl.cam.ac.uk [Sat, 11 Feb 2006 12:06:49 +0000 (13:06 +0100)]
Rework hvm_wait_io() -- now tries to be a polite user of
event channels by re-setting the selector and master
pending flags when it exits. Should make for better
behaviour when there are others using the event channels.

This needs some testing to be sure it doesn't break
anything or trigger latent bugs.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoReset sp on vcpu_prepare; this avoids 'leaking' stack after repeated
smh22@firebug.cl.cam.ac.uk [Fri, 10 Feb 2006 16:57:13 +0000 (17:57 +0100)]
Reset sp on vcpu_prepare; this avoids 'leaking' stack after repeated
save/restore/migrate iterations.

Should fix various crashes observed with save/restore/migrate of multi
VCPU guests.

Signed-off-by: Steven Hand <steven@xensource.com>
20 years agoFix exporting vnet config to xenstore.
mjw@wray-m-3.hpl.hp.com [Fri, 10 Feb 2006 16:14:56 +0000 (17:14 +0100)]
Fix exporting vnet config to xenstore.

Signed-off-by: Mike Wray <mike.wray@hp.com>
20 years agoAvoid misleading message about 'not using swiotlb' on x86/64
kaf24@firebug.cl.cam.ac.uk [Fri, 10 Feb 2006 11:35:19 +0000 (12:35 +0100)]
Avoid misleading message about 'not using swiotlb' on x86/64
domain0. Provide a temporary glue between our swiotlb
implementation and x86/64's dma_ops dynamic dma-mapping
infrastructure.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoCope with -1 eventchn_fd -- this occurs when using --no-domain-init (a
emellor@leeni.uk.xensource.com [Fri, 10 Feb 2006 02:23:36 +0000 (03:23 +0100)]
Cope with -1 eventchn_fd -- this occurs when using --no-domain-init (a
command line debugging option).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoParse --port argument to migration.
emellor@leeni.uk.xensource.com [Fri, 10 Feb 2006 01:09:19 +0000 (02:09 +0100)]
Parse --port argument to migration.

Patch by Andres Lagar Cavilla <andreslc@cs.toronto.edu>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix xm-test network tests to work with hvm support enabled.
adam@ipcoast.com [Fri, 10 Feb 2006 01:05:26 +0000 (02:05 +0100)]
Fix xm-test network tests to work with hvm support enabled.

20 years agoThe attached patch adds 'xm vtpm-list <DomId>' functionality.
emellor@leeni.uk.xensource.com [Fri, 10 Feb 2006 01:04:24 +0000 (02:04 +0100)]
The attached patch adds 'xm vtpm-list <DomId>' functionality.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years agoRather than require config changes if you aren't using eth0, use the
emellor@leeni.uk.xensource.com [Fri, 10 Feb 2006 01:03:24 +0000 (02:03 +0100)]
Rather than require config changes if you aren't using eth0, use the
default network device available no matter the name. It can still
be configured if you want a specific network device.

Patch by Bill Nottingham <notting@redhat.com>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoCheck the hypercall number in the privcmd hypercall ioctl.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 23:16:53 +0000 (00:16 +0100)]
Check the hypercall number in the privcmd hypercall ioctl.
We check it is a member of a small set of permitted hypercalls.
Fix libxenstat to not use multicalls (not permitted, and not
need for efficiency in libxenstat).

Based on an original patch by Chris Wright.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
20 years agoRemove Xen-specific param.h: has only cosmetic change from mainline.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 23:00:17 +0000 (00:00 +0100)]
Remove Xen-specific param.h: has only cosmetic change from mainline.

-#define CLOCKS_PER_SEC        (USER_HZ)       /* like times() */
+# define CLOCKS_PER_SEC                (USER_HZ)       /* like times() */

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
20 years agopci-nommu-xen.c is identical to its mainline counterpart so remove it.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 22:15:21 +0000 (23:15 +0100)]
pci-nommu-xen.c is identical to its mainline counterpart so remove it.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
20 years agoRemove defunct compile option CONFIG_XEN_SHADOW_MODE.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 19:25:33 +0000 (20:25 +0100)]
Remove defunct compile option CONFIG_XEN_SHADOW_MODE.
It has been superceded by run-time flag
XENFEAT_auto_translated_physmap.

This patch changes behaviour slightly:
 1. set_pmd/set_pgd/set_pud always use mmu_ops, even when
    XENFEAT_writable_page_tables is available. Unclear whether
    we want to add a test to avoid this.
 2. xen_l1_entry_update always uses mmu_op. Again, could gate
    this on XENFEAT_writable_page_tables.
 3. We always pin/unpin pagetables. Could gate this on a
    new XENFEAT flag.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDelete old 'shortcut' function __shadow_status() and
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 17:35:15 +0000 (18:35 +0100)]
Delete old 'shortcut' function __shadow_status() and
rename the core function ___shadow_status() to take its
place.

The 'fast path quick test' was ridiculously bloated and
didn't work for PGT_fl1_shadow pages.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDon't specify VT console structure at all when specifying
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 16:42:51 +0000 (17:42 +0100)]
Don't specify VT console structure at all when specifying
!console_use_vt. The dummy_con just confuses the VT
implementation and you get no console output without manually
specifying a console= boot parameter.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd a vnet chapter to the user manual.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 15:12:48 +0000 (16:12 +0100)]
Add a vnet chapter to the user manual.

Signed-off-by: Mike Wray <mike.wray@hp.com>
20 years agoUpdate vnets to support UDP encapsulation, multicast forwarding
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 15:12:11 +0000 (16:12 +0100)]
Update vnets to support UDP encapsulation, multicast forwarding
and optionally running in user-space.

Signed-off-by: Mike Wray <mike.wray@hp.com>
20 years agoDo_softirq is invoked at the path of ia64_leave_kernel instead of
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 15:09:00 +0000 (16:09 +0100)]
Do_softirq is invoked at the path of ia64_leave_kernel instead of
being invoking in function irq_exit, which is aligned with XEN/X86 and
avoids __enter_schedule being reentered.

Signed-off-by Anthony Xu <anthony.xu@intel.com>

20 years agoMake a VTI domain boot again.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 15:03:17 +0000 (16:03 +0100)]
Make a VTI domain boot again.

Signed-off-by Anthony Xu <anthony.xu@intel.com>

20 years agoRemove xennull_con. Use dummy_con.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 14:57:52 +0000 (15:57 +0100)]
Remove xennull_con. Use dummy_con.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix typos in Kconfig files.
cl349@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 13:54:58 +0000 (13:54 +0000)]
Fix typos in Kconfig files.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix CPU hotplug.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 13:52:40 +0000 (14:52 +0100)]
Fix CPU hotplug.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMore details on ordering and safety of the Xen timer API.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 11:17:35 +0000 (12:17 +0100)]
More details on ordering and safety of the Xen timer API.
Most functions are safe to call after a timer structure
has been initialised to all zeroes, as long as they are
*never* called concurrently with init_timer().

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix CPU-migration of VMX domains.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 11:10:28 +0000 (12:10 +0100)]
Fix CPU-migration of VMX domains.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
20 years agoQuiet down wbinvd warning for verbose/debug builds of xen.
smh22@firebug.cl.cam.ac.uk [Thu, 9 Feb 2006 10:32:17 +0000 (11:32 +0100)]
Quiet down wbinvd warning for verbose/debug builds of xen.

Signed-off-by: Steven Hand <steven@xensource.com>
20 years agoFix the backward compatibility support for using 'vcpus' in the image section of...
rread@ubuntu.eng.hq.xensource.com [Thu, 9 Feb 2006 02:20:51 +0000 (19:20 -0700)]
Fix the backward compatibility support for using 'vcpus' in the image section of the domain sexp.

Signed-off-by: Robert Read <robert@xensource.com>
20 years agoFix x86_64 CPU hotplug by paravirtualizing the play_dead() function.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 23:27:52 +0000 (00:27 +0100)]
Fix x86_64 CPU hotplug by paravirtualizing the play_dead() function.

Also fix the i386 play_dead() function to call idle_task_exit(),
which ensures the CPU exits while running the init_mm. Otherwise
other tasks may get stuck.

Signed-off-by: Ryan Grimm <grimm@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoThe NAT checksum fixes in patches/linux-2.6.16-rc2/net-csum.patch do
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 23:22:38 +0000 (00:22 +0100)]
The NAT checksum fixes in patches/linux-2.6.16-rc2/net-csum.patch do
not work when port numbers are modified (bug 447).
tcp_manip_pkt()/udp_manip_pkt() modify the protocol checksum to
reflect the changes to ip addresses and port numbers.  When
dev_queue_xmit() finds a message with proto_csum_blank set, it
calculates a new tcp/udp checksum that includes both the modified port
numbers and the modified protocol checksum field...  so the change to
the port numbers affects the protocol checksum twice.

This patch modifies net-csum.patch to remove the checksum mangling for
port numbers in tcp_manip_pkt()/udp_manip_pkt()

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
20 years agoAttached patch for svm will enable a tlb flush for each vmrun.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 23:13:46 +0000 (00:13 +0100)]
Attached patch for svm will enable a tlb flush for each vmrun.

Setting the tbl_control flag to 1 in the vmcb, causes a complete tlb
flush on this core.  We have seen issues (blue screens) when utilizing
ASID granularity with WinxpSP1 running on cores>0.  we have found that
flushing the TLBs each vmrun alleviates winxpsp1 crashes.  We have also
sometimes seen a substantial performance improvement(!) when flushing
each vmrun, which was completely unexpected.  We are continuing to
investigate root cause, but for the moment, we would like to just flush
each vmrun. Digging around in the SPT code might be necessary here also.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
20 years agoFix Xen timer interface to allow migration of timers
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 16:27:32 +0000 (17:27 +0100)]
Fix Xen timer interface to allow migration of timers
among CPUs (using new migrate_timer() call). Fix the
locking protocol in light of this addition.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoPrevent a guest from specifying its own domain id when
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 16:26:20 +0000 (17:26 +0100)]
Prevent a guest from specifying its own domain id when
making a 'foreign' page mapping. It must use DOMID_SELF.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd 'dom0_max_vcpus' Xen boot parameter.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 16:25:14 +0000 (17:25 +0100)]
Add 'dom0_max_vcpus' Xen boot parameter.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix i386 CPU hotplug, and CPU hotplug when maxcpus= kernel boot option is used.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 16:24:29 +0000 (17:24 +0100)]
Fix i386 CPU hotplug, and CPU hotplug when maxcpus= kernel boot option is used.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd m2p translation to read_cr3 on x86_64.
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 15:58:01 +0000 (15:58 +0000)]
Add m2p translation to read_cr3 on x86_64.

From: Jan Beulich <JBeulich@novell.com>
From: Nakajima, Jun <jun.nakajima@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agox86-64 linux: remove dead code
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 15:45:11 +0000 (15:45 +0000)]
x86-64 linux: remove dead code
Remove left-over pieces from native interrupt handling.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agox86-64 linux: CONFIG_ACPI_BOOT doesn't exist anymore
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 15:43:01 +0000 (15:43 +0000)]
x86-64 linux: CONFIG_ACPI_BOOT doesn't exist anymore

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agolinux: don't export evtchn_do_upcall()
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 15:38:38 +0000 (15:38 +0000)]
linux: don't export evtchn_do_upcall()
Remove the export of evtchn_do_upcall().
Given the constraints on the use of this function (should run at least
with irqcount adjusted properly, preferrably also on irq stack), it
doesn't seem reasonable for this function to be exported.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agox86-64 linux: properly exit idle mode from evtchn_do_upcall()
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 15:36:49 +0000 (15:36 +0000)]
x86-64 linux: properly exit idle mode from evtchn_do_upcall()
Add a call to exit_idle() when evtchn_do_upcall() calls
evtchn_device_upcall() instead of do_IRQ().

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agox86-64 linux: call evtchn_do_upcall on irq stack and adjust irqcount
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 15:31:38 +0000 (15:31 +0000)]
x86-64 linux: call evtchn_do_upcall on irq stack and adjust irqcount
Especially in the light of the recent no-idle-tick preparations in
native x86-64 it is important that exit_idle() has proper state
available.  For this reason, the processor's irqcount must be adjusted
within upcalls, and for consistency and similarity with native code
this call should also execute on the processor's irq stack.
At once the patch slightly simplifies the pre-existing code by copying
%rdi into %rsp instead of adding 8 to %rsp, and by using %rdi instead
of %rsp (avoiding a needless resource dependency) for storing the event
mask.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoUse /dev/kmem to map dom0 xenstore page instead of abusing the foreign mapping interface.
cl349@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 12:03:52 +0000 (12:03 +0000)]
Use /dev/kmem to map dom0 xenstore page instead of abusing the foreign mapping interface.
Change /proc/xen/xsd_mfn to /proc/xen/xsd_kva containing the kernel
virtual address of the dom0 xenstore page.  Update xenstored to use
/proc/xen/xsd_kva.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoRationalise initialisation of cpu_possible_map.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Feb 2006 10:10:52 +0000 (11:10 +0100)]
Rationalise initialisation of cpu_possible_map.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years ago/sbin/udev no longer exists in upstream udev, so use udevinfo for
kaf24@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 23:30:50 +0000 (00:30 +0100)]
/sbin/udev no longer exists in upstream udev, so use udevinfo for
version info.

Signed-off-by: Jeremy Katz <katzj@redhat.com>
20 years agoFix pygrub to handle timeout of -1 (wait forever).
john.levon@sun.com [Tue, 7 Feb 2006 20:46:13 +0000 (20:46 +0000)]
Fix pygrub to handle timeout of -1 (wait forever).
Only call use_default_colors() if it's available.

Signed-off-by: John Levon <john.levon@sun.com>
20 years agoClean up the TPM stack a bit.
cl349@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 20:38:44 +0000 (20:38 +0000)]
Clean up the TPM stack a bit.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years agoSince USER_PTRS_PER_PGD depends on TASK_SIZE and thus on the current
kaf24@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 18:16:11 +0000 (19:16 +0100)]
Since USER_PTRS_PER_PGD depends on TASK_SIZE and thus on the current
thread, it must not be used in code that can be called in the context
switch path (otherwise the 32-bitness of the outgoing task is used
here rather then the 32-bitness of the incoming one, possibly
resulting in large parts of the page tables not getting converted to
read-only).

Signed-off-by: Jan Beulich <JBeulich@novell.com>
20 years agoFix ia32 support.
cl349@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 15:24:04 +0000 (15:24 +0000)]
Fix ia32 support.

From: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoApply stricter checking to RDMSR/WRMSR emulations.
kaf24@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 14:56:39 +0000 (15:56 +0100)]
Apply stricter checking to RDMSR/WRMSR emulations.
In particular, MSRs that domain0 may write to must now
be 'white listed': default policy is to ignore the write.

This will prevent SYSCALL/SYSENTER instructions from
crashign Xen, by preventing the target MSRs from being
overwritten by domain 0.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix x86_64 SMP support.
cl349@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 13:57:40 +0000 (13:57 +0000)]
Fix x86_64 SMP support.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoClarify dual licensing of gnttab.[ch] files in Linux.
kaf24@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 11:59:27 +0000 (12:59 +0100)]
Clarify dual licensing of gnttab.[ch] files in Linux.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix x86_64 guest console support.
cl349@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 11:54:09 +0000 (11:54 +0000)]
Fix x86_64 guest console support.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoRemove the PHYSDEV_ACCESS configure option from Linux.
kaf24@firebug.cl.cam.ac.uk [Tue, 7 Feb 2006 00:02:49 +0000 (01:02 +0100)]
Remove the PHYSDEV_ACCESS configure option from Linux.
It saves very little space, no distro will disable it
in their unified build, and it's rather a pain to
implement it properly.

I've left the PRIVILEGED_GUEST option for now, as it
provides some indication of where our platform-bringup
hacks are in our Linux tree. We may wish to exclude
those from upstream merge in the first instance.

Signed-off-by: Keir Fraser <keir@xensource.com>